﻿
#include <iostream>
#include <bitset>
int main()
{
    /*我们俱乐部一共32栈灯, 设计一个灯光控制系统, 其中台球部8栈灯, 桌游区灯8栈, 酒吧8栈灯, 休息区8栈灯, 要求满足以下功能:
    (1)能独立控制每一栈灯 (2)能够一次性打开或关闭一个区域的全部灯光 (3)能够获取各个区域的灯光打开关闭情况 (4)能够一次性关闭打开的灯,打开关闭的灯
    */
    //1是开 0是关
    unsigned int AllLight{0xFFFFFFFF};//全开
    std::cout << std::bitset<32>{AllLight} << (char)10;//(3)获取灯光开关情况
    
    AllLight = AllLight & 0b111000111111111111111111111111111;
    //AllLight = AllLight | 0b000000000000000001111100000000000;
    //AllLight = AllLight ^ 0b000000000000000001111100000000000;

    std::cout << std::bitset<32>{AllLight} << (char)10; //(1)独立控制每一栈灯

    AllLight = AllLight & 0xFFFF00FF;//(2)一次性关闭酒吧区的灯光

    std::cout << std::bitset<32>{AllLight} << (char)10;//获取灯光开关情况
    AllLight  = AllLight << 1;
    std::cout << std::bitset<32>{AllLight} << (char)10;//32全开

    AllLight = ~AllLight;//满足(4)
    std::cout << std::bitset<32>{AllLight} << (char)10;





    
}
